﻿using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Serialization;

[Serializable]
public struct AnglePair
{
    public float min;
    public float max;
}

[Serializable]
public struct Action
{
    [Header("卡牌效果")]
    public string name;
    public int[] values;
    public TargetType targetType;
    public EffectType effectType;
    
    [Header("范围效果")]
    public int rangeLength;
    public Vector3 rangeOriginPoint;
    
    public bool isBuff;
    
    [Header("Buff效果")]
    public int remainCount;
    public int remainTurn;
    public EntityStatusEnum effectTriggerType;
    public EffectTriggerSequence effectTriggerSequence;
    
    [HideInInspector] public GameObject caller;
    [HideInInspector] public GameObject receiver;
    
    [Header("接下来的链式效果")]
    public List<Action> nextActions;
}

[Serializable]
public class CardPair
{
    public CardScriptable cardData;
    public CardBelongType cardBelongType;
    public DeckType cardDeckType;
    public int belongSlot;

    public void SetBelongSlot(int slot)
    {
        cardBelongType = slot == -1 ? CardBelongType.Drag : CardBelongType.Icon;
        cardDeckType = slot == -1 ? DeckType.Action : DeckType.Fixed;
        belongSlot = slot;
    }
}

[Serializable]
public struct AnimationSet
{
    public Vector3 pos;
    public Vector3 scale;
    public Quaternion rot;
}



